# 人生重开模拟器
# 练习语法
import random
import sys
import time

print("+-----------------------------+")
print("|                             |")
print("|    花有重开日，人无再少年       |")
print("|                             |")
print("|    欢迎来到，人生重开模拟器     |")
print("|                             |")
print("+-----------------------------+")

# 设置初始属性
# face strong iq home
while True:
    print("请设定初始属性（可用点数：20）")
    face = int(input("设定颜值（1-10）"))
    strong = int(input("设定力量（1-10）"))
    iq = int(input("设定智商（1-10）"))
    home = int(input("设定家境（1-10）"))

# 判断有没有输出错误
    if face < 1 or face > 10:
        print("颜值设置有误")
        face = int(input("重新设置颜值"))
        continue
    if strong < 1 or strong > 10:
        print("力量设置有误")
        strong = int(input("重新设置力量"))
        continue
    if iq < 1 or iq > 10:
        print("智商设置有误")
        iq = int(input("重新设置智商"))
        continue
    if home < 1 or home > 10:
        print("家境设置有误")
        home = int(input("重新设置家境"))
        continue

    if face + strong + iq + home > 20:
        print("超过可用点数，全部重新设置")
        continue

    print("属性设置完成")
    break

# 设置性别
# 通过随机数来设置性别

# 随机数来模拟掷色子，生成1-6数字,单数的男孩，偶数是女孩
point = random.randint(1, 6)
if point % 2 == 1:
    gender = "boy"
    print("你是个男孩")
else:
    gender = "gril"
    print("你是个女孩")

# 设置出身点
# 先按自己想要的家境分，再按照随机3种情况分
point = random.randint(1, 3)
if home == 10:
    print("你出生在帝都, 你的父母是高官政要")
    home += 1
    iq += 1
    strong += 1
elif 7 <= home <= 9:
    if point == 1:
        print("你出生在大城市, 你的父母是公务员")
        face += 2
    elif point == 2:
        print("你出生在大城市, 你的父母是大企业高管")
        home += 2
    elif point == 3:
        print("你出生在大城市, 你的父母是大学教授")
        iq += 2
elif 4 <= home <= 6:
    if point == 1:
        print("你出生在三线城市, 你的父母是教师")
        iq += 1
    elif point == 2:
        print("你出生在镇上, 你的父母是医生")
        strong += 1
    else:
        print("你出生在镇上, 你的父母是个体户")
        home += 1
else:
    if point == 1:
        print("你出生在村里, 你的父母是辛苦劳作的农民")
        strong += 1
        face -= 2
    elif point == 2:
        print("你出生在穷乡僻壤, 你的父母是无业游民")
        home -= 1
    else:
        print("你出生在镇上, 你父母感情不和")
        strong -= 1

# 设置人生经历
for age in range(1, 11):
    info = f'你今年{age}岁了,'
    point = random.randint(1, 3)
    # 性别触发事件
    if gender == "gril" and home <= 3 and point == 1:
        info += "你家里人重男轻女思想非常严重, 你被遗弃了!"
        print(info)
        print("游戏结束！")
        sys.exit(0)
    # 体质触发事件
    elif strong < 6 and point != 3:
        info += "你生了一场大病,"
        if home >= 5:
            info += "在父母的精心照料下恢复了健康"
            strong += 1
            home -= 1
        else:
            info += "你的父母没精力管你, 你的身体状况更糟糕了"
            strong -= 1
    # 颜值触发事件
    elif face < 4 and age >= 7:
        info += "你因为长的太丑, 别的小朋友不喜欢你,"
        if iq > 5:
            info += "你决定用学习填充自己"
            iq += 1
        else:
            if gender == "boy":
                info += "你和别的小朋友经常打架"
                iq -= 1
                strong += 1
            else:
                info += "你经常被别的小朋友欺负"
                strong -= 1
    # 智商触发事件
    elif iq < 5:
        info += "你看起来傻傻的,"
        if home >= 8 and age > 6:
            info += "你的父母给你送到更好的学校学习"
            iq += 1
        elif 4 <= home <= 7:
            if gender == "boy":
                info += "你的父母鼓励你多运动, 加强身体素质"
                strong += 1
            else:
                info += "你的父母鼓励你多打扮自己"
                face += 1
        else:
            info += "你的父母为此经常吵架"
            if point == 1:
                strong -= 1
            elif point == 2:
                iq -= 1
    # 健康成长
    else:
        info += "你健康成长,"
        if point == 1:
            info += "看起来更聪明了"
            iq += 1
        elif point == 2:
            info += "看起来更好看了"
            face += 1
        else:
            info += "看起来更结实了"
            strong += 1
    print("----------------------------------")
    if strong <= 0:
        info += ",由于身体情况过于糟糕，你英年早逝！"
    print(info)
    print(f'strong = {strong}, face = {face}, iq = {iq}, home = {home}')
    if strong <= 0:
        print("游戏结束！")
        sys.exit(0)
    time.sleep(1)